// Styles for the Features Page

// Larger text for empasized body copy
.callout {
  font-size: 18px;
  margin-bottom: 60px;
  line-height: 150%;

  em {
    font-weight: 600;
    text-decoration: underline;
  }
}

// List of features
.feature-list {
  display: flex;
  flex-wrap: wrap;

  .key {
    background: #333;
    background: rgba(0, 0, 0, 0.15);
    color: rgba(0, 0, 0, 0.5);
    padding: 0 6px;
    border-radius: 2px;
    font-weight: 600;
  }

  .feature {
    overflow: auto;
    margin-bottom: 40px;
    padding-bottom: 5px;
    width: 50%;
    box-sizing: border-box;
    padding-right: 60px;

    .feature-description {
      color: rgba(0, 0, 0, 0.65);
      line-height: 150%;

      strong {
        color: rgba(0, 0, 0, 1);
      }
    }

    .feature-name {
      margin: 0 0 12px;
      line-height: 30px;
      font-size: 22px;
    }

    .feature-image {
      width: 100%;
      margin: 0 0 30px;
      box-shadow: 7px 7px 0 rgba(0, 0, 0, 0.15);
    }

    video {
      width: 100%;
      box-shadow: 7px 7px 0 rgba(0, 0, 0, 0.15);
      background: rgba(0, 0, 0, 0.15);
      display: block;
    }

    .video-wrapper {
      position: relative;
      margin: 0 0 30px;

      .video-overlay {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0);
        transition: background-color 0.4s ease-out;
      }

      .video-indicator {
        position: absolute;
        bottom: 10px;
        right: 12px;
        height: 30px;
        width: 30px;
        border-radius: 2px;
        background-image: ~"url(/img/icon/video-playing.svg)";
        background-size: 12px;
        background-repeat: no-repeat;
        background-position: 9px 7px;
        opacity: 0.8;
        background-color: rgba(0, 0, 0, 0.4);
        animation: pulse 0.2s infinite;
      }

      @keyframes pulse {
        0% {
          transform: scale(1);
        }

        50% {
          transform: scale(1.05);
        }

        100% {
          transform: scale(1);
        }
      }

      &.paused .video-indicator {
        background-image: ~"url(/img/icon/video-paused.svg)";
        background-color: transparent;
        animation: none;
      }

      &.paused .video-overlay {
        background-color: rgba(0, 0, 0, 0.6);
      }
    }
  }

  .feature.wide {
    width: 100%;
    border: solid 2px #ddd;
    padding-top: 40px;
    padding-bottom: 20px;
    border-width: 2px 0;
    min-height: 0;

    ul {
      list-style-type: disc;
      padding-left: 20px;
      overflow: hidden;
    }

    h2 {
      clear: none;
    }

    .video-wrapper {
      width: ~"calc(50% - 30px)";
      margin-right: 60px;
      float: left;
    }
  }
}
